#pragma once

#include <AST/expr/literal/LiteralAST.hpp>

class Bool : public Literal {
  public:
    const bool val;
  
    Bool(bool val);

    virtual Type *getType() override;

    virtual Constant *codegen() override;

    static Value *getDefault();

    friend class graphviz::GraphGenerator;

    virtual VisitResult accept(ASTVisitor &visitor) const override {
        return visitor.visitBoolAST(this);
    }
};